# # -*- coding:UTF-8 -*-
# __author__ = 'rxz'
#
# import hashlib
#
# # 待加密信息
# str = '12345678'
#
# # 创建md5对象，
# # md5对象，md5不能反解，但是加密是固定的，就是关系是一一对应，所以有缺陷，可以被对撞出来
# hl = hashlib.md5()
#
# # 要对哪个字符串进行加密，就放这里
# # 此处必须声明encode
# # 若写法为hl.update(str)  报错为： Unicode-objects must be encoded before hashing
# hl.update(str.encode(encoding='utf-8'))
#
# print('MD5加密前为 ：' + str)
# # hl.hexdigest()) #拿到加密字符串
# print('MD5加密后为 ：' + hl.hexdigest())
#
# """
# MD5加密前为 ：中国你好
# MD5加密后为 ：560a6b11a85d436acfa4bd7f34462f40
# """
#
# hash3 = hashlib.md5(bytes('abd', encoding='utf-8'))
# print(hash3.hexdigest())  #4911e516e5aa21d327512e0c8b197616
# '''
# 如果没有参数，所以md5遵守一个规则，生成同一个对应关系，如果加了参数，
# 就是在原先加密的基础上再加密一层，这样的话参数只有自己知道，防止被撞库，
# 因为别人永远拿不到这个参数
# '''
# hash3.update(bytes("zhixuewang", encoding="utf-8"))
# print(hash3.hexdigest())  # 9aea3c0a6c51555c1a4d0a5e9b689ded

# -*- coding:UTF-8 -*-
# __author__ = 'rxz'
#
# import binascii
#
# # 方法中不传参数则是以默认的utf-8编码进行转换
# a = "12345678".encode("utf-8")
# print(a)  # b'\xe4\xb8\xad\xe5\x9b\xbd\xe6\xac\xa2\xe8\xbf\x8e\xe6\x82\xa8'
#
# c = binascii.b2a_hex('12345678'.encode())
# print("c===", c)  # c=== b'e4b8ade59bbde6aca2e8bf8ee682a8'
#
# d = binascii.a2b_hex(c)
# print(d)  # b'\xe4\xb8\xad\xe5\x9b\xbd\xe6\xac\xa2\xe8\xbf\x8e\xe6\x82\xa8'
#
# v = binascii.a2b_hex(c).decode("utf-8")
# print(v)  # 中国欢迎您
# b = a.decode("utf-8")
# print(b)  # 中国欢迎您

# -*- coding:UTF-8 -*-
# __author__ = 'rxz'
#
# from urllib import parse
#
# a = parse.quote("12345678")
# print(a)  # %E4%B8%AD%E5%9B%BD%E6%AC%A2%E8%BF%8E%E6%82%A8
#
# b = parse.unquote(a)
# print(b)  # 中国欢迎您

# -*- coding:UTF-8 -*-
# __author__ = 'rxz'
#
# import base64
#
# a = base64.b64encode(b"12345678")
# print(a)  # b'aGVsbG8gd29ybGQ='
#
# b = base64.b64decode(a)
# print(b)  # b"hello world"

import binascii

test_encode = '南北'.encode()
# b'\xe5\x8d\x97\xe5\x8c\x97'
print(test_encode)
test_decode=binascii.b2a_hex('南北'.encode())
print(test_decode)
# b'e58d97e58c97'
#
# binascii.a2b_hex(b'e58d97e58c97')
# b'\xe5\x8d\x97\xe5\x8c\x97'
#
# binascii.a2b_hex(b'e58d97e58c97').decode()
